1. Field of the Invention
The present invention relates generally to the field of computer-implemented inventions, and more specifically, to a system and method for rapid development of software applications.
2. Description of the Related Art
Virtually every large company in the world uses an automated business system in some part of their business. These systems vary, but almost all of them have the requirement to display information and accept input from end users. Examples of automated business systems run the gamut from online retail sites to delivery truck routing systems to insurance industry customer interfaces. Because building automated business systems is a complex and technically challenging process, business users with average computer skills cannot create, modify, or maintain them without employing the expertise of software engineers or programmers. Furthermore, most automated business systems require interactions with sub-components, such as a database, which furthers the need for the interface to be controlled by a software engineer.
These constraints make automated business system builds a lengthy and prohibitively expensive process. Business users need an easy and efficient way to build custom automated business systems that include visual design elements of display pages (front-end interfaces) connected to a database (interface to the back end). The automated business system needs to be built through a user-friendly interface that does not require technical knowledge.
Additionally, the software development industry has gone through a series of changes to address the shortcomings of developing automated business systems. In the past, automated business systems were mainframe-based with primitive visual interfaces called green screens. Developers of these systems had limited choices for constructing usable and intuitive front-end interfaces. With the growth of the Internet, these options expanded rapidly. HTML, Java, and other programming environments provided new, visually oriented methods for development and powerful ways to create a new generation of automated business systems; however, they brought about a new set of challenges.
Back in the mainframe age, component connections were simple to manage because components were tied together by one central system. Today, through the Internet, systems are accessible from anywhere on the network, and there now exists the ability to connect different components from multiple data and service providers into one interdependent system. While the new capabilities of the Internet have added flexibility in the creation of user-friendly, front-end visual interfaces, this flexibility increases the importance of standards and interfaces between systems. Consequently, software engineers continue to be a necessity for the creation of visual widgets and for tying these widgets to the back-end interfaces. The need for software engineers to be involved in every step of development puts limits on the “advances” these technologies have made.
Furthermore, the use of automated business systems has become increasingly critical to the success of businesses that use them. Millions of dollars are at stake when these systems shut down; therefore, failure is not acceptable, and uptime and availability performance are paramount. The environment in which these automated business systems need to perform in today's world must also be taken into consideration. With fraud loss on the increase, environment security has become vitally important. Compliance with government regulation designed to protect consumers has also become a requirement of any automated business system.
There are no automated business systems on the market that successfully address all of these issues. An automated business system in today's world must retain the benefits of the Internet, and still provide a user-friendly interface that allows non-technical business users to quickly build, modify, and maintain automated business systems with front-end visual interfaces that are connected to a database that processes and stores high-volume, mission-critical data. The system must also address uptime and availability requirements, as well as security and compliance issues.